#ifndef _MOUSE_H_
#define _MOUSE_H_

#include "utypes.h"
#include "menu.h"

/** Função que desenha o Rato
 *  @param backup  posicao do rato
 *  @param video_base apontador para memória gráfica
 */
void drawMouse( int * backup , char * video_base );

/** Função que guarda o estado do rato, a cor dos pixeis onde o rato vai ser desenhado
 *  @param x posição x do rato
 *  @param y posição y do rato
 *  @param backup posicao do rato
 *  @param video_base apontador para memória gráfica
 */ 
void saveStat( int x , int y , int * backup , char * video_base );

/** Função que processa o evento do rato, actualiza as variaveis estaticas x_pos e y_pos
 *  @param mouse Rato
 */ 
void parse_mouse_event( uchar * mouse );
 
/** Função que verica se o rato esta sobre uma opção do menu
 * @return return true se o rato estiver dentro da opção do menu, caso contrário return false  
 * 
 * @param mouse Rato
 */ 
Bool insideOption( int x , int y , Option * op );

/** Função que verifica se foi feito um clik no rato sobre uma opção do menu e actualiza a opção seleccionada
 *  @return return 2 se clik, return 1 se não ocorreu clik , default return 0
 *
 *  @param menu Menu de selecção
 */
int evaluateMouse( Menu * menu );


#endif
